Environment Variables

The following environment variables can be set (generally to any value) and will effect some aspect of operation. They should generally only be set when you are experiencing a problem. The performance related variables are more useful when used in a qacli environment for fast commands. You are unlikely to notice any difference when used with the graphical tools or when doing long analysis, viewing or report runs.

For information on how set variables, refer to Setting Environment Variables.

HELIX_QAC_BAZEL_INCLUDE_DEPENDENCIES

By default, a BAZEL synchronization will exclude dependencies from synchronization. Set this environment variable to include them when running a synchronization .

HELIX_QAC_COUT

Enabling this to one of NONE, INFO, ERROR, DEBUG, TRACE sends the logging information at the requested level to the console. This is the same information that is also sent to the logfile.

HELIX_QAC_DISABLE_APP_COPY

On startup for any Helix QAC command (such as qacli, qagui etc) the software checks and copies any modified file in the 'app' folder from the installation directory into the local user data location. Setting this variable will disable this checking and copying.

HELIX_QAC_DISABLE_CCT_CHECKS

Previous version of Helix QAC did not checking for a valid CCT header. This is now checked so CCTs that previously loaded may now fail to load. Set this variable to disable the CCT checking during loading.

HELIX_QAC_DISABLE_CONFIG_COPY

On startup for any Helix QAC command (such as qacli, qagui etc) the software checks and copies any modified file in the 'config' folder from the installation directory into the local user data location. Setting this variable will disable this checking and copying.

HELIX_QAC_DISABLE_DEPRECATED

By default, qacli will output a message to stderr warning you are using a deprecated qacli command. Where possible, a suggested replacement command will be given.

To disable these messages, set the environment variable HELIX_QAC_DISABLE_DEPRECATED to any value.

HELIX_QAC_DISABLE_SAMPLE_COPY

On startup for any Helix QAC command (such as qacli, qagui etc) the software checks and copies any modified sample projects from the installation directory into the local user data location. Setting this variable will disable this checking and copying.

HELIX_QAC_DISABLE_SCHEMA_CHECKS

Setting this to any value will disable all schema checking (principally for the ACF, RCF and prqaproject.xml). Any ill-formed XML file will not be detected and incorrect/incomplete data may be read. You should only use this if these exact XML files have previously been checked and are known to be OK.

HELIX_QAC_DISABLE_VERSION_LOGGING

Setting this to any value will stop Helix QAC logging to the logfile the exact versions of all components used during analysis.

HELIX_QAC_ENABLE_BROADCAST

Setting this to any value will ensure the local subnet is searched for licence servers (if no licence server could be found at the configured addresses)

HELIX_QAC_EXPAND_DRIVES

By default paths are not expanded when files reside on Windows virtual drives. To get the fully expanded path then set the environmental variable HELIX_QAC_EXPAND_DRIVES to any value.

HELIX_QAC_FAIL_DEPRECATED

By default, qacli will output a message to stderr warning you are using a deprecated qacli command - but it will complete as normal. qacli can be forced to fail (return code 1, Command Line Parse Failure) when it encounters a deprecated command by setting the environment variable HELIX_QAC_FAIL_DEPRECATED to any value.

HELIX_QAC_HB_INTERVAL

Specify the interval in seconds (default is 60) to exchange heartbeats with the license server. If 10 consecutive heartbeats are missed then the connection to the license server is dropped.

HELIX_QAC_LEGACY_NAMES

By default, more human readable names are used in reports for C++ function parameters and some function names. For example, a parameter “int x” would be reported as “int”. If this environment variable is set to any value, the older format is used and “int x” would become “, ni”.

HELIX_QAC_LTOKEN

This environment variable is now deprecated and no longer used.

HELIX_QAC_MEMORY_UPPER

Helix QAC will detect the percentage of memory in use on the current system. This variable sets the upper threshold for memory usage, above which tasks will not run. Tasks will remain in a pending state until the memory usage falls below HELIX_QAC_MEMORY_LOWER. This takes float and integer values, e.g. 61.50, with a maximum of 100. By default, no threshold is set.

HELIX_QAC_MEMORY_LOWER

When memory usage falls below this value, any pending tasks will be analyzed. If this variable is not set, it takes the same value as HELIX_QAC_MEMORY_UPPER.

HELIX_QAC_NO_LICENSE_CHECK

Setting this variable to any value will suppress any warning messages when no license servers have been explicitly set.

HELIX_QAC_PERIODIC_LOGGER_INTERVAL

During analysis the memory and swap usage is logged to the logfile at least every 60 seconds. Setting this variable will override the default logging period. The value should be specified as an unsigned integer i.e. the number of seconds between periodic memory usage logging messages.

HELIX_QAC_QAINJECT_PROG

Specifies one or more compilers to intercept, along with the appropriate filter to use. This can be used if you want to use something other than the default compilers and filters, and any bindings defined using this will override the default mappings read from a compiler mapping file.

HELIX_QAC_QAINJECT_GEN_TRACE

Setting this variable to any value will generate an intermediate qainject trace file as well as generating a build spec. This should only be used if directed by development or support.

HELIX_QAC_QT_DEBUG

By default, all Qt warnings have been quieted when running the various qa* programs from a console. To see these warnings, which are mostly harmless, then set HELIX_QAC_QT_DEBUG to any value.

HELIX_QAC_QUIT_QAX_ON_EXIT

Setting this to any value will force qaxd to immediately quit when the qacli command completes. Setting this may increase the time for subsequent qacli commands to complete.

HELIX_QAC_TEMP_INCLUDE

When using Auto CCT, this environment variable can specify the folder for temporary force included files. Any force include files that are used from this directory will be preserved in the project configuration for subsequent analysis. If the variable is not set, only the default system temporary folder is checked.

HELIX_QAC_UDL

Specifies the location to a custom User Data Location (UDL). This overrides the default and any user or system defined locations. The UDL must be available in the filesystem and permissions set appropriately so that the user can read/write/delete to that location.

For more information, refer to User Data Location.

HELIX_QAC_WIN_SDK

This can be set to use a different SDK to analyze against for Windows Visual Studio projects (VS 2017 and above). It should be set to any valid installed SDK, for example:

set HELIX_QAC_WIN_SDK=10.0.17763.0

You can usually see which SDKs are available by looking in this location; C:\Program Files (x86)\Windows Kits\10\bin

VALIDATE_CREDENTIALS

References to Validate tokens are stored in the User Data Location. The default location is within the UDL: app/validate_credentials. This can be overridden by setting this variable to a pathname of your choice. It is recommended that an absolute pathname is used, for example:

set VALIDATE_CREDENTIALS=C:\QAC\Tokens\Validate.credentials

VALIDATE_TOKEN_KEYSTORE_FILE

By default, Java secure storage is used to store Validate tokens and they are stored in the User Data Location. The default location is within the UDL: app/validate_tokens.jks. This can be overridden by setting this variable to a pathname of your choice. It is recommended that an absolute pathname is used, for example:

set VALIDATE_TOKEN_KEYSTORE_FILE=C:\QAC\Tokens\Validate.tokens.jks